﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CoreRay
{
    public class SceneViewNode
    {
        public SceneViewNode(string name, SceneView sceneView) : this(name, sceneView, null, null)
        {
        }

        public SceneViewNode(string name, SceneView sceneView, SceneObject sceneObject) : this(name, sceneView, sceneObject, null)
        {
        }

        public SceneViewNode(string name, SceneView sceneView, SceneObject sceneObject, SceneViewNode parentNode)
        {
            this.Name = name;
            this.SceneObject = sceneObject;
            this.SceneView = sceneView;
            this.ParentNode = parentNode;
            this.ChildrenNodes = new List<SceneViewNode>();
        }

        public SceneObject SceneObject
        {
            get;
            private set;
        }

        public string Name
        {
            get;
            private set;
        }

        public SceneView SceneView
        {
            get;
            private set;
        }

        public SceneViewNode ParentNode
        {
            get;
            private set;
        }

        public IList<SceneViewNode> ChildrenNodes
        {
            get;
            private set;
        }
    }
}
